Moving picture data often has an enormous amount of data. Thus, when transmitted from a transmitting device to a receiving device or when stored in a storage device, the moving picture data may be compressed and coded.
As typical moving picture coding standards, Moving Picture Experts Group phase 2 (MPEG-2), MPEG-4, and H.264 MPEG-4 Advanced Video Coding (MPEG-4 AVC/H.264) have been known. These moving picture coding standards have been formulated by International Organization for Standardization/International Electrotechnical Commission (ISO/IEC).
The above-described moving picture coding standards adopt two coding schemes, that is, inter prediction coding and intra prediction coding. Inter prediction coding is a coding scheme of coding a coding-target picture by using coded picture information. Intra prediction coding is a coding scheme of coding a coding-target picture by using only information the coding-target picture has.
In January, 2013, a next-generation moving picture coding standard called High Efficiency Video Coding (HEVC) was formulated by an organization called Joint Collaborative Team on Video Coding (JCTVC). JCTVC is an organization operated jointly by International Telecommunication Union Telecommunication Standardization Sector (ITU-T) and ISO/IEC.
HEVC achieves double the coding efficiency of H.264 by introducing a new filter called a sample adaptive offset (SAO) and a tool that was difficult to be implemented due to limitations of hardware when H.264 was formulated.
Furthermore, JCTVC has formulated Screen Content Coding (SCC), which is a coding standard for screen contents, as an extension of HEVC. SCC is a coding standard for coding artificial video on a desktop screen of a personal computer (PC) or the like. SCC is expected as a coding standard suitable in future for use in, for example, compressing video transmitted from a server on cloud.
SCC aims at handling artificial video on a screen of a PC or the like, and video as a compression target includes video for medical purposes, video of computer aided design (CAD), and so forth. Thus, SCC includes a tool in consideration of an RGB color space, 4:4:4 color space, and so forth. These videos have a higher spatial correlation among color components, compared with natural pictures, and also the number of colors for use is often limited. Therefore, the tool added in SCC achieves an improvement in coding efficiency by using such video characteristics.
Typical tools added in SCC include cross component prediction (CCP), adaptive color transform (ACT), palette coding, and so forth. CCP is a technique of reducing prediction errors by using a correlation between prediction errors of each color component, and ACT is a technique of reducing the correlation among color components by applying, for example, transformation from a YCoCg color space into an RGB color space, to prediction errors.
Palette coding is a technique of reducing a code amount by representing a color component frequently appearing in video by an index and coding this index. For example, when each color component in a YUV color space is represented by eight bits, the code amount for representing one color is simply 24 bits in total in normal coding.
Meanwhile, in palette coding, if there is a frequently-appearing color component, an index is provided to that color component, and the index is coded in place of the color component. For example, if the total number of indexes is 256, which are representable by eight bits, the code amount for representing one color is simply eight bits. Therefore, the amount of information after coding is reduced from 24 bits to eight bits.
As a matter of course, this calculation of a code amount is a simplified example. In actual coding, orthogonal transformation and arithmetic coding are performed, and therefore a different calculation result is obtained. However, as a basic way of thinking, a color is represented by a small number of indexes in place of a color component as it is, thereby making it possible to reduce the amount of information.
Artificial video handled by SCC tends to be such that the same color is repeatedly used and the types of color used are further limited, compared with natural pictures. In palette coding, a small number of frequently-appearing colors are each represented by an index with a small code amount, thereby reducing the amount of information and improving coding efficiency.
As examples of the related art, JCTVC-V1005, “High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 5”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, October 2015 is known. And also, JCTVC-S1002, “High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved Encoder Description”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, February-October 2014 is known.